/*
 * Copyright (c) 2018.
 * http://www.ulabcare.com
 */

package com.mt.roll.upms.params;

import com.mt.roll.core.enums.MenuCategoryEnum;
import com.mt.roll.core.enums.MenuTypeEnum;
import com.mt.roll.core.params.BasePageParam;
import com.mt.roll.core.validator.constraints.Enum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 系统菜单
 * </p>
 *
 * @author jiff
 * @date 2018/11/22
 * @since 1.0
 */
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@Data
@Builder
@ApiModel(value = "菜单查询参数", description = "用于查询菜单信息")
public class MenuQueryParam extends BasePageParam {

    /**
     * 父菜单ID
     */
    @ApiModelProperty(value = "父菜单ID", example = "0")
    private Long parentId;
    /**
     * 菜单编码
     */
    @ApiModelProperty(value = "菜单编码", example = "menu")
    private String code;

    /**
     * 菜单名称
     */
    @ApiModelProperty(value = "菜单名称", required = false, example = "菜单管理")
    private String name;

    /**
     * 分类:1、pc，2、app，3、wechat，4、miniapp
     */
    @ApiModelProperty(value = "分类:1、pc，2、app，3、wechat，4、miniapp", required = false, example = "1")
    @Enum(message = "非法的菜单分类", target = {MenuCategoryEnum.class})
    private Integer category;

    /**
     * 类型:1、module，2、menu，3、button
     */
    @ApiModelProperty(value = "类型:1、module，2、menu，3、button", required = false, example = "1")
    @Enum(message = "非法的菜单类型", target = {MenuTypeEnum.class})
    private Integer type;


}
